import createAxiosClient from "@/app/utils/axiosRequest";
import ToastUtil from "@/app/utils/toastUtil";

/**
 * 获取文件夹列表
 * @param parentId 父级目录ID
 * @param pageNum 当前页码
 * @param pageSize 每页条数
 * @constructor
 */
export default async function FolderService(parentId: string | null, pageNum: number = 1, pageSize: number = 100) {
    //axios统一配置中心
    const axiosInstance = createAxiosClient();
    
    // 处理parentId: 转换"root"或"/"为null，其他情况转为数字
    const processedParentId = parentId === "root" || parentId === "/" ? null : Number(parentId);
    
    /*获取目录数据*/
    return await axiosInstance.get("/app/collection/list", {
        params: {
            "parentId": processedParentId, /*父级目录ID*/
            "pageNum": pageNum,
            "pageSize": pageSize
        }
    }).then(response => {
        const data = response.data;
        return data;
    }).catch(error => {
        ToastUtil("获取文件夹列表失败", '❌', "error");
        return { status: false, message: "获取文件夹列表失败", data: { records: [], total: 0 } };
    });
}